home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 November / CPNL0711.ISO / boekhoud / finan / BADGER finance v1.0 beta 2.exe / xampplite / phpMyAdmin / db_details_structure.php < prev    next >
PHP Script  |  2006-02-17  |  21KB  |  522 lines

  1. <?php
  2. /* $Id: db_details_structure.php,v 2.73.2.6 2006/02/17 13:57:36 lem9 Exp $ */
  3. // vim: expandtab sw=4 ts=4 sts=4:
  4.  
  5. require_once './libraries/common.lib.php';
  6.  
  7. /**
  8.  * Prepares the tables list if the user where not redirected to this script
  9.  * because there is no table in the database ($is_info is true)
  10.  */
  11. if (empty($is_info)) {
  12.     // Drops/deletes/etc. multiple tables if required
  13.     if ((!empty($submit_mult) && isset($selected_tbl))
  14.       || isset($mult_btn)) {
  15.         $action = 'db_details_structure.php';
  16.         $err_url = 'db_details_structure.php?'. PMA_generate_common_url($db);
  17.         require './libraries/mult_submits.inc.php';
  18.         $message = $strSuccess;
  19.     }
  20.     require './libraries/db_details_common.inc.php';
  21.     $url_query .= '&goto=db_details_structure.php';
  22.  
  23.     // Gets the database structure
  24.     $sub_part = '_structure';
  25.     require './libraries/db_details_db_info.inc.php';
  26. }
  27.  
  28. // 1. No tables
  29. if ($num_tables == 0) {
  30.     echo '<p>' . $strNoTablesFound . '</p>' . "\n";
  31.  
  32.     if (empty($db_is_information_schema)) {
  33.         require './libraries/display_create_table.lib.php';
  34.     } // end if (Create Table dialog)
  35.  
  36.     /**
  37.      * Displays the footer
  38.      */
  39.     require_once './libraries/footer.inc.php';
  40.     exit;
  41. }
  42.  
  43. // else
  44. // 2. Shows table informations - staybyte - 11 June 2001
  45.  
  46. require_once './libraries/bookmark.lib.php';
  47.  
  48. if (PMA_MYSQL_INT_VERSION >= 40101) {
  49.     require_once './libraries/mysql_charsets.lib.php';
  50.     $db_collation = PMA_getDbCollation($db);
  51. }
  52.  
  53. // Display function
  54. /**
  55.  * void PMA_TableHeader([bool $db_is_information_schema = false])
  56.  * display table header (<table><thead>...</thead><tbody>)
  57.  *
  58.  * @uses    PMA_showHint()
  59.  * @uses    PMA_MYSQL_INT_VERSION
  60.  * @uses    $GLOBALS['cfg']['PropertiesNumColumns']
  61.  * @uses    $GLOBALS['cfg']['ShowStats']
  62.  * @uses    $GLOBALS['strTable']
  63.  * @uses    $GLOBALS['strAction']
  64.  * @uses    $GLOBALS['strRecords']
  65.  * @uses    $GLOBALS['strApproximateCount']
  66.  * @uses    $GLOBALS['strType']
  67.  * @uses    $GLOBALS['strCollation']
  68.  * @uses    $GLOBALS['strSize']
  69.  * @uses    $GLOBALS['strOverhead']
  70.  * @uses    $GLOBALS['structure_tbl_col_cnt']
  71.  * @param   boolean $db_is_information_schema
  72.  */
  73. function PMA_TableHeader($db_is_information_schema = false)
  74. {
  75.     $cnt = 0; // Let's count the columns...
  76.  
  77.     if ($db_is_information_schema) {
  78.         $action_colspan = 3;
  79.     } else {
  80.         $action_colspan = 6;
  81.     }
  82.  
  83.     echo '<table class="data" style="float: left;">' . "\n"
  84.         .'<thead>' . "\n"
  85.         .'<tr><td></td>' . "\n"
  86.         .'    <th>' . $GLOBALS['strTable'] . '</th>' . "\n"
  87.         .'    <th colspan="' . $action_colspan . '">' . "\n"
  88.         .'        ' . $GLOBALS['strAction'] . "\n"
  89.         .'    </th>'
  90.         .'    <th>' . $GLOBALS['strRecords']
  91.         .PMA_showHint($GLOBALS['strApproximateCount']) . "\n"
  92.         .'    </th>' . "\n";
  93.     if (!($GLOBALS['cfg']['PropertiesNumColumns'] > 1)) {
  94.         echo '    <th>' . $GLOBALS['strType'] . '</th>' . "\n";
  95.         $cnt++;
  96.         if (PMA_MYSQL_INT_VERSION >= 40100) {
  97.             echo '    <th>' . $GLOBALS['strCollation'] . '</th>' . "\n";
  98.             $cnt++;
  99.         }
  100.     }
  101.     if ($GLOBALS['cfg']['ShowStats']) {
  102.         echo '    <th>' . $GLOBALS['strSize'] . '</th>' . "\n"
  103.            . '    <th>' . $GLOBALS['strOverhead'] . '</th>' . "\n";
  104.         $cnt += 2;
  105.     }
  106.     echo '</tr>' . "\n";
  107.     echo '</thead>' . "\n";
  108.     echo '<tbody>' . "\n";
  109.     $GLOBALS['structure_tbl_col_cnt'] = $cnt + $action_colspan + 3;
  110. }
  111.  
  112. $titles = array();
  113. if (true == $cfg['PropertiesIconic']) {
  114.     $titles['Browse']     = '<img class="icon" width="16" height="16" src="' .$pmaThemeImage . 'b_browse.png" alt="' . $strBrowse . '" title="' . $strBrowse . '" />';
  115.     $titles['NoBrowse']   = '<img class="icon" width="16" height="16" src="' .$pmaThemeImage . 'bd_browse.png" alt="' . $strBrowse . '" title="' . $strBrowse . '" />';
  116.     $titles['Search']     = '<img class="icon" width="16" height="16" src="' .$pmaThemeImage . 'b_select.png" alt="' . $strSearch . '" title="' . $strSearch . '" />';
  117.     $titles['NoSearch']   = '<img class="icon" width="16" height="16" src="' .$pmaThemeImage . 'bd_select.png" alt="' . $strSearch . '" title="' . $strSearch . '" />';
  118.     $titles['Insert']     = '<img class="icon" width="16" height="16" src="' .$pmaThemeImage . 'b_insrow.png" alt="' . $strInsert . '" title="' . $strInsert . '" />';
  119.     $titles['NoInsert']   = '<img class="icon" width="16" height="16" src="' .$pmaThemeImage . 'bd_insrow.png" alt="' . $strInsert . '" title="' . $strInsert . '" />';
  120.     $titles['Structure']  = '<img class="icon" width="16" height="16" src="' .$pmaThemeImage . 'b_props.png" alt="' . $strStructure . '" title="' . $strStructure . '" />';
  121.     $titles['Drop']       = '<img class="icon" width="16" height="16" src="' .$pmaThemeImage . 'b_drop.png" alt="' . $strDrop . '" title="' . $strDrop . '" />';
  122.     $titles['NoDrop']     = '<img class="icon" width="16" height="16" src="' .$pmaThemeImage . 'bd_drop.png" alt="' . $strDrop . '" title="' . $strDrop . '" />';
  123.     $titles['Empty']      = '<img class="icon" width="16" height="16" src="' .$pmaThemeImage . 'b_empty.png" alt="' . $strEmpty . '" title="' . $strEmpty . '" />';
  124.     $titles['NoEmpty']    = '<img class="icon" width="16" height="16" src="' .$pmaThemeImage . 'bd_empty.png" alt="' . $strEmpty . '" title="' . $strEmpty . '" />';
  125.  
  126.     if ('both' === $cfg['PropertiesIconic']) {
  127.         $titles['Browse']     .= $strBrowse;
  128.         $titles['Search']     .= $strSearch;
  129.         $titles['NoBrowse']   .= $strBrowse;
  130.         $titles['NoSearch']   .= $strSearch;
  131.         $titles['Insert']     .= $strInsert;
  132.         $titles['NoInsert']   .= $strInsert;
  133.         $titles['Structure']  .= $strStructure;
  134.         $titles['Drop']       .= $strDrop;
  135.         $titles['NoDrop']     .= $strDrop;
  136.         $titles['Empty']      .= $strEmpty;
  137.         $titles['NoEmpty']    .= $strEmpty;
  138.     }
  139. } else {
  140.     $titles['Browse']     = $strBrowse;
  141.     $titles['Search']     = $strSearch;
  142.     $titles['NoBrowse']   = $strBrowse;
  143.     $titles['NoSearch']   = $strSearch;
  144.     $titles['Insert']     = $strInsert;
  145.     $titles['NoInsert']   = $strInsert;
  146.     $titles['Structure']  = $strStructure;
  147.     $titles['Drop']       = $strDrop;
  148.     $titles['NoDrop']     = $strDrop;
  149.     $titles['Empty']      = $strEmpty;
  150.     $titles['NoEmpty']    = $strEmpty;
  151. }
  152.  
  153. /**
  154.  * Displays the tables list
  155.  */
  156. ?>
  157. <form method="post" action="db_details_structure.php" name="tablesForm" id="tablesForm">
  158. <?php
  159. echo PMA_generate_common_hidden_inputs($db);
  160.  
  161. PMA_TableHeader($db_is_information_schema);
  162.  
  163. $i = $sum_entries = 0;
  164. $sum_size       = (double) 0;
  165. $overhead_size  = (double) 0;
  166. $overhead_check = '';
  167. $checked        = !empty($checkall) ? ' checked="checked"' : '';
  168. $num_columns    = $cfg['PropertiesNumColumns'] > 1 ? ceil($num_tables / $cfg['PropertiesNumColumns']) + 1 : 0;
  169. $row_count      = 0;
  170.  
  171.  
  172. $hidden_fields = array();
  173. $odd_row       = true;
  174. $at_least_one_view_exceeds_max_count = false;
  175.  
  176. foreach ($tables as $keyname => $each_table) {
  177.     if ($each_table['TABLE_ROWS'] === null || $each_table['TABLE_ROWS'] < $GLOBALS['cfg']['MaxExactCount']) {
  178.         $each_table['TABLE_ROWS'] = PMA_countRecords($db,
  179.             $each_table['TABLE_NAME'], $return = true, $force_exact = true);
  180.     }
  181.  
  182.     $table_encoded = urlencode($each_table['TABLE_NAME']);
  183.     // MySQL < 5.0.13 returns "view", >= 5.0.13 returns "VIEW"
  184.     $table_is_view = ($each_table['TABLE_TYPE'] === 'VIEW'
  185.                        || $each_table['TABLE_TYPE'] === 'SYSTEM VIEW');
  186.  
  187.     $alias = (!empty($tooltip_aliasname) && isset($tooltip_aliasname[$each_table['TABLE_NAME']]))
  188.                ? htmlspecialchars($tooltip_aliasname[$each_table['TABLE_NAME']])
  189.                :  htmlspecialchars($each_table['TABLE_NAME']);
  190.     $truename = (!empty($tooltip_truename) && isset($tooltip_truename[$each_table['TABLE_NAME']]))
  191.                ? htmlspecialchars($tooltip_truename[$each_table['TABLE_NAME']])
  192.                : htmlspecialchars($each_table['TABLE_NAME']);
  193.  
  194.     // Sets parameters for links
  195.     $tbl_url_query = $url_query . '&table=' . $table_encoded;
  196.     $i++;
  197.  
  198.     $row_count++;
  199.     if ($table_is_view) {
  200.         $hidden_fields[] = '<input type="hidden" name="views[]" value="' .  $table_encoded . '" />';
  201.     }
  202.  
  203.     if ($each_table['TABLE_ROWS'] > 0) {
  204.         $browse_table = '<a href="sql.php?' . $tbl_url_query . '&pos=0">' . $titles['Browse'] . '</a>';
  205.         $search_table = '<a href="tbl_select.php?' . $tbl_url_query . '">' . $titles['Search'] . '</a>';
  206.     } else {
  207.         $browse_table = $titles['NoBrowse'];
  208.         $search_table = $titles['NoSearch'];
  209.     }
  210.  
  211.     if (! $db_is_information_schema) {
  212.         if (! empty($each_table['TABLE_ROWS'])) {
  213.             $empty_table = '<a href="sql.php?' . $tbl_url_query
  214.                  . '&sql_query=';
  215.             if (PMA_MYSQL_INT_VERSION >= 40000) {
  216.                 $empty_table .= urlencode('TRUNCATE ' . PMA_backquote($each_table['TABLE_NAME']))
  217.                      . '&zero_rows='
  218.                      . urlencode(sprintf($strTableHasBeenEmptied, htmlspecialchars($each_table['TABLE_NAME'])))
  219.                      . '" onclick="return confirmLink(this, \'TRUNCATE ';
  220.             } else {
  221.                 $empty_table .= urlencode('DELETE FROM ' . PMA_backquote($each_table['TABLE_NAME']))
  222.                      . '&zero_rows='
  223.                      . urlencode(sprintf($strTableHasBeenEmptied, htmlspecialchars($each_table['TABLE_NAME'])))
  224.                      . '" onclick="return confirmLink(this, \'DELETE FROM ';
  225.             }
  226.             $empty_table .= PMA_jsFormat($each_table['TABLE_NAME']) . '\')">' . $titles['Empty'] . '</a>';
  227.         } else {
  228.             $empty_table = $titles['NoEmpty'];
  229.         }
  230.         $drop_query = 'DROP '
  231.             . ($table_is_view ? 'VIEW' : 'TABLE')
  232.             . ' ' . PMA_backquote($each_table['TABLE_NAME']);
  233.         $drop_message = sprintf(
  234.             $table_is_view ? $strViewHasBeenDropped : $strTableHasBeenDropped,
  235.             htmlspecialchars($each_table['TABLE_NAME']));
  236.     }
  237.  
  238.     // loic1: Patch from Joshua Nye <josh at boxcarmedia.com> to get valid
  239.     //        statistics whatever is the table type
  240.  
  241.     if (isset($each_table['TABLE_ROWS'])) {
  242.         // MyISAM, ISAM or Heap table: Row count, data size and index size
  243.         // is accurate.
  244.         if (preg_match('@^(MyISAM|ISAM|HEAP|MEMORY)$@', $each_table['ENGINE'])) {
  245.             if ($cfg['ShowStats']) {
  246.                 $tblsize                    =  doubleval($each_table['Data_length']) + doubleval($each_table['Index_length']);
  247.                 $sum_size                   += $tblsize;
  248.                 list($formated_size, $unit) =  PMA_formatByteDown($tblsize, 3, ($tblsize > 0) ? 1 : 0);
  249.                 if (isset($each_table['Data_free']) && $each_table['Data_free'] > 0) {
  250.                     list($formated_overhead, $overhead_unit)     = PMA_formatByteDown($each_table['Data_free']);
  251.                     $overhead_size           += $each_table['Data_free'];
  252.                 }
  253.             }
  254.             $sum_entries                    += $each_table['TABLE_ROWS'];
  255.         } elseif ($each_table['ENGINE'] == 'InnoDB') {
  256.             // InnoDB table: Row count is not accurate but data and index
  257.             // sizes are.
  258.             if ($cfg['ShowStats']) {
  259.                 $tblsize                    =  $each_table['Data_length'] + $each_table['Index_length'];
  260.                 $sum_size                   += $tblsize;
  261.                 list($formated_size, $unit) =  PMA_formatByteDown($tblsize, 3, ($tblsize > 0) ? 1 : 0);
  262.             }
  263.             //$display_rows                   =  ' - ';
  264.             $sum_entries       += $each_table['TABLE_ROWS'];
  265.         } elseif (preg_match('@^(MRG_MyISAM|BerkeleyDB)$@', $each_table['ENGINE'])) {
  266.             // Merge or BerkleyDB table: Only row count is accurate.
  267.             if ($cfg['ShowStats']) {
  268.                 $formated_size =  ' - ';
  269.                 $unit          =  '';
  270.             }
  271.             $sum_entries       += $each_table['TABLE_ROWS'];
  272.         } else {
  273.             // Unknown table type.
  274.             if ($cfg['ShowStats']) {
  275.                 $formated_size =  'unknown';
  276.                 $unit          =  '';
  277.             }
  278.         }
  279.  
  280.         if (PMA_MYSQL_INT_VERSION >= 40100) {
  281.             if (isset($each_table['Collation'])) {
  282.                 $collation = '<dfn title="'
  283.                     . PMA_getCollationDescr($each_table['Collation']) . '">'
  284.                     . $each_table['Collation'] . '</dfn>';
  285.             } else {
  286.                 $collation = '---';
  287.             }
  288.         }
  289.  
  290.         if ($cfg['ShowStats']) {
  291.             if (isset($formated_overhead)) {
  292.                 $overhead = '<a href="tbl_properties_structure.php?'
  293.                     . $tbl_url_query . '#showusage">' . $formated_overhead
  294.                     . ' ' . $overhead_unit . '</a>' . "\n";
  295.                 unset($formated_overhead);
  296.                 $overhead_check .=
  297.                     "document.getElementById('checkbox_tbl_$i').checked = true;";
  298.             } else {
  299.                 $overhead = '-';
  300.             }
  301.         } // end if
  302.     } // end if (isset($each_table['TABLE_ROWS'])
  303.  
  304.     if ($num_columns > 0 && $num_tables > $num_columns
  305.       && (($row_count % $num_columns) == 0)) {
  306.         $row_count = 1;
  307.         $odd_row = true;
  308.     ?>
  309.     </tr>
  310. </tbody>
  311. </table>
  312.         <?php
  313.         PMA_TableHeader();
  314.     }
  315.     ?>
  316. <tr class="<?php echo $odd_row ? 'odd' : 'even'; $odd_row = ! $odd_row; ?>">
  317.     <td align="center">
  318.         <input type="checkbox" name="selected_tbl[]"
  319.             value="<?php echo $table_encoded; ?>"
  320.             id="checkbox_tbl_<?php echo $i; ?>"<?php echo $checked; ?> /></td>
  321.     <th><label for="checkbox_tbl_<?php echo $i; ?>"
  322.             title="<?php echo $alias; ?>"><?php echo $truename; ?></label>
  323.     </th>
  324.     <td align="center"><?php echo $browse_table; ?></td>
  325.     <td align="center">
  326.         <a href="tbl_properties_structure.php?<?php echo $tbl_url_query; ?>">
  327.             <?php echo $titles['Structure']; ?></a></td>
  328.     <td align="center"><?php echo $search_table; ?></td>
  329.     <?php if (! $db_is_information_schema) { ?>
  330.     <td align="center">
  331.         <a href="tbl_change.php?<?php echo $tbl_url_query; ?>">
  332.             <?php echo $titles['Insert']; ?></a></td>
  333.     <td align="center"><?php echo $empty_table; ?></td>
  334.     <td align="center">
  335.         <a href="sql.php?<?php echo $tbl_url_query;
  336.             ?>&reload=1&purge=1&sql_query=<?php
  337.             echo urlencode($drop_query); ?>&zero_rows=<?php
  338.             echo urlencode($drop_message); ?>"
  339.             onclick="return confirmLink(this, '<?php echo PMA_jsFormat($drop_query, false); ?>')">
  340.             <?php echo $titles['Drop']; ?></a></td>
  341.     <?php } // end if (! $db_is_information_schema)
  342.  
  343.     // there is a null value in the ENGINE
  344.     // - when the table needs to be repaired, or
  345.     // - when it's a view
  346.     //  so ensure that we'll display "in use" below for a table
  347.     //  that needs to be repaired
  348.  
  349.     if (isset($each_table['TABLE_ROWS']) && ($each_table['ENGINE'] != null || $table_is_view)) { 
  350.         if ($table_is_view  && $each_table['TABLE_ROWS'] >= $cfg['MaxExactCount']) {
  351.             $at_least_one_view_exceeds_max_count = true;
  352.             $show_superscript = '<sup>1</sup>';
  353.         } else {
  354.             $show_superscript = '';
  355.         }
  356.     ?>
  357.     <td class="value"><?php echo PMA_formatNumber($each_table['TABLE_ROWS'], 0) . $show_superscript; ?></td>
  358.         <?php if (!($cfg['PropertiesNumColumns'] > 1)) { ?>
  359.     <td nowrap="nowrap"><?php echo ($table_is_view ? $strView : $each_table['ENGINE']); ?></td>
  360.             <?php if (isset($collation)) { ?>
  361.     <td nowrap="nowrap"><?php echo $collation ?></td>
  362.             <?php } ?>
  363.         <?php } ?>
  364.  
  365.         <?php if ($cfg['ShowStats']) { ?>
  366.     <td class="value"><a
  367.         href="tbl_properties_structure.php?<?php echo $tbl_url_query; ?>#showusage"
  368.         ><?php echo $formated_size . ' ' . $unit; ?></a></td>
  369.     <td class="value"><?php echo $overhead; ?></td>
  370.         <?php } // end if ?>
  371.     <?php } elseif ($table_is_view) { ?>
  372.     <td class="value">-</td>
  373.     <td><?php echo $strView; ?></td>
  374.     <td>---</td>
  375.         <?php if ($cfg['ShowStats']) { ?>
  376.     <td class="value">-</td>
  377.     <td class="value">-</td>
  378.         <?php } ?>
  379.     <?php } else { ?>
  380.     <td colspan="<?php echo ($structure_tbl_col_cnt - ($db_is_information_schema ? 5 : 8)) ?>"
  381.         align="center">
  382.         <?php echo $strInUse; ?></td>
  383.     <?php } // end if (isset($each_table['TABLE_ROWS'])) else ?>
  384. </tr>
  385.     <?php
  386. } // end foreach
  387.  
  388. // Show Summary
  389. if ($cfg['ShowStats']) {
  390.     list($sum_formated, $unit) = PMA_formatByteDown($sum_size, 3, 1);
  391.     list($overhead_formated, $overhead_unit) =
  392.         PMA_formatByteDown($overhead_size, 3, 1);
  393. }
  394. ?>
  395. </tbody>
  396. <tbody>
  397. <tr><td></td>
  398.     <th align="center" nowrap="nowrap">
  399.         <?php echo sprintf($strTables, PMA_formatNumber($num_tables, 0)); ?>
  400.     </th>
  401.     <th colspan="<?php echo ($db_is_information_schema ? 3 : 6) ?>" align="center">
  402.         <?php echo $strSum; ?></th>
  403.     <th class="value"><?php echo PMA_formatNumber($sum_entries, 0); ?></th>
  404. <?php
  405. if (!($cfg['PropertiesNumColumns'] > 1)) {
  406.     echo '    <th align="center">'
  407.         .PMA_DBI_get_default_engine() . '</th>' . "\n";
  408.     if (! empty($db_collation)) {
  409.         echo '    <th align="center">' . "\n"
  410.            . '        <dfn title="'
  411.            . PMA_getCollationDescr($db_collation) . '">' . $db_collation
  412.            . '</dfn></th>';
  413.     }
  414. }
  415.  
  416. if ($cfg['ShowStats']) {
  417.     ?>
  418.     <th class="value"><?php echo $sum_formated . ' ' . $unit; ?></th>
  419.     <th class="value"><?php echo $overhead_formated . ' ' . $overhead_unit; ?></th>
  420.     <?php
  421. }
  422. ?>
  423. </tr>
  424. </tbody>
  425. </table>
  426.  
  427. <div class="clearfloat">
  428. <?php
  429. // Check all tables url
  430. $checkall_url = 'db_details_structure.php?' . PMA_generate_common_url($db);
  431. ?>
  432. <img class="selectallarrow" src="<?php echo $pmaThemeImage .'arrow_'.$text_dir.'.png'; ?>"
  433.     width="38" height="22" alt="<?php echo $strWithChecked; ?>" />
  434. <a href="<?php echo $checkall_url; ?>&checkall=1"
  435.     onclick="if (markAllRows('tablesForm')) return false;">
  436.     <?php echo $strCheckAll; ?></a>
  437. /
  438. <a href="<?php echo $checkall_url; ?>"
  439.     onclick="if (unMarkAllRows('tablesForm')) return false;">
  440.     <?php echo $strUncheckAll; ?></a>
  441. <?php if ($overhead_check != '') { ?>
  442. /
  443. <a href="#" onclick="unMarkAllRows('tablesForm');
  444.     <?php echo $overhead_check; ?> return false;">
  445.     <?php echo $strCheckOverhead; ?></a>
  446. <?php } ?>
  447.  
  448. <select name="submit_mult" onchange="this.form.submit();" style="margin: 0 3em 0 3em;">
  449. <?php
  450. echo '    <option value="' . $strWithChecked . '" selected="selected">'
  451.      . $strWithChecked . '</option>' . "\n";
  452. echo '    <option value="' . $strEmpty . '" >'
  453.      . $strEmpty . '</option>' . "\n";
  454. echo '    <option value="' . $strDrop . '" >'
  455.      . $strDrop . '</option>' . "\n";
  456. echo '    <option value="' . $strPrintView . '" >'
  457.      . $strPrintView . '</option>' . "\n";
  458. echo '    <option value="' . $strCheckTable . '" >'
  459.      . $strCheckTable . '</option>' . "\n";
  460. echo '    <option value="' . $strOptimizeTable . '" >'
  461.      . $strOptimizeTable . '</option>' . "\n";
  462. echo '    <option value="' . $strRepairTable . '" >'
  463.      . $strRepairTable . '</option>' . "\n";
  464. echo '    <option value="' . $strAnalyzeTable . '" >'
  465.      . $strAnalyzeTable . '</option>' . "\n";
  466. ?>
  467. </select>
  468. <script type="text/javascript" language="javascript">
  469. <!--
  470. // Fake js to allow the use of the <noscript> tag
  471. //-->
  472. </script>
  473. <noscript>
  474.     <input type="submit" value="<?php echo $strGo; ?>" />
  475. </noscript>
  476. <?php echo implode("\n", $hidden_fields) . "\n"; ?>
  477. </div>
  478. </form>
  479. <?php
  480. // Notice about row count for views
  481.  
  482. if ($at_least_one_view_exceeds_max_count && !$db_is_information_schema) {
  483.     echo '<div class="notice">' . "\n";
  484.     echo '<sup>1</sup>' . PMA_sanitize(sprintf($strViewMaxExactCount, PMA_formatNumber($cfg['MaxExactCount'], 0), '[a@./Documentation.html#cfg_MaxExactCount@_blank]', '[/a]')) . "\n";
  485.     echo '</div>' . "\n";
  486. }
  487. ?>
  488. <hr />
  489.  
  490. <?php
  491. /**
  492.  * Work on the database
  493.  * redesigned 2004-05-08 by mkkeck
  494.  */
  495. /* DATABASE WORK */
  496. /* Printable view of a table */
  497. echo '<p>';
  498. echo '<a href="db_printview.php?' . $url_query . '">';
  499. if ($cfg['PropertiesIconic']) {
  500.      echo '<img class="icon" src="' . $pmaThemeImage
  501.         .'b_print.png" width="16" height="16" alt="" />';
  502. }
  503. echo $strPrintView . '</a> ';
  504.  
  505. echo '<a href="./db_datadict.php?' . $url_query . '">';
  506. if ($cfg['PropertiesIconic']) {
  507.     echo '<img class="icon" src="' . $pmaThemeImage
  508.         .'b_tblanalyse.png" width="16" height="16" alt="" />';
  509. }
  510. echo $strDataDict . '</a>';
  511. echo '</p>';
  512.  
  513. if (empty($db_is_information_schema)) {
  514.     require './libraries/display_create_table.lib.php';
  515. } // end if (Create Table dialog)
  516.  
  517. /**
  518.  * Displays the footer
  519.  */
  520. require_once './libraries/footer.inc.php';
  521. ?>
  522.